#!/usr/bin/env bash

# Author:   Zhang Huangbin (michaelbibby <at> gmail.com)

#---------------------------------------------------------------------
# This file is part of iRedMail, which is an open source mail server
# solution for Red Hat(R) Enterprise Linux, CentOS, Debian and Ubuntu.
#
# iRedMail is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# iRedMail is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with iRedMail.  If not, see <http://www.gnu.org/licenses/>.
#---------------------------------------------------------------------

# ------------------------------------------------
# Policyd.
# ------------------------------------------------
if [ X"${DISTRO}" == X"RHEL" ]; then
    export PKG_POLICYD='policyd'
    export POLICYD_CONF='/etc/policyd.conf'
    export POLICYD_SENDER_THROTTLE_CONF='/etc/policyd_sender_throttle.conf'
    export POLICYD_INIT_SCRIPT="${DIR_RC_SCRIPTS}/policyd"

    # Database.
    export POLICYD_DB_NAME='policyd'
    export POLICYD_DB_USER='policyd'

    # Path of policyd-clean
    export POLICYD_CLEANUP_BIN='/usr/sbin/policyd-cleanup'

elif [ X"${DISTRO}" == X"DEBIAN" -o X"${DISTRO}" == X"UBUNTU" ]; then
    export PKG_POLICYD='postfix-policyd'
    export POLICYD_CONF='/etc/postfix-policyd.conf'
    export POLICYD_SENDER_THROTTLE_CONF='/etc/postfix-policyd_sender_throttle.conf'
    export POLICYD_INIT_SCRIPT="${DIR_RC_SCRIPTS}/postfix-policyd"

    # Database.
    export POLICYD_DB_NAME='postfixpolicyd'
    export POLICYD_DB_USER='postfix-policyd'

    # Path of policyd-clean
    export POLICYD_CLEANUP_BIN='/usr/lib/postfix-policyd/cleanup'

elif [ X"${DISTRO}" == X"FREEBSD" ]; then
    export PKG_POLICYD='postfix-policyd-sf'
    export POLICYD_CONF='/usr/local/etc/postfix-policyd-sf.conf'
    export POLICYD_SENDER_THROTTLE_CONF='/usr/local/etc/policyd_sender_throttle.conf'
    export POLICYD_INIT_SCRIPT="${DIR_RC_SCRIPTS}/policyd"

    # Database.
    export POLICYD_DB_NAME='policyd'
    export POLICYD_DB_USER='policyd'

    # Path of policyd-clean
    export POLICYD_CLEANUP_BIN='/usr/local/sbin/postfix-policyd-sf-cleanup'

else
    :
fi

export POLICYD_BINDHOST='127.0.0.1' # Default value in policyd.conf.
export POLICYD_BINDPORT='10031' # Default value in policyd.conf.

export POLICYD_DB_PASSWD="$(${RANDOM_STRING})"

export POLICYD_USER='policyd'
export POLICYD_GROUP='policyd'
export POLICYD_USER_HOME='/home/policyd'

#
# Another policyd instance for recipient throttle feature only.
#
export POLICYD_SENDER_THROTTLE_PIDFILE='/var/run/policyd_sender_throttle.pid'

export POLICYD_SENDER_THROTTLE_BINDHOST="${POLICYD_BINDHOST}"
export POLICYD_SENDER_THROTTLE_BINDPORT='10032'

export POLICYD_SENDER_THROTTLE_DB_NAME="${POLICYD_DB_NAME}"
export POLICYD_SENDER_THROTTLE_DB_USER="${POLICYD_DB_USER}"
export POLICYD_SENDER_THROTTLE_DB_PASSWD="${POLICYD_DB_PASSWD}"

export POLICYD_SENDER_THROTTLE_USER_NAME="${POLICYD_USER}"
export POLICYD_SENDER_THROTTLE_GROUP_NAME="${POLICYD_GROUP}"
export POLICYD_SENDER_THROTTLE_USER_HOME="${POLICYD_USER_HOME}"

#
# Syslog setting.
#
export POLICYD_SEPERATE_LOG='NO'    # 'YES' or 'NO'
# Default syslog facility is 'local1'
export POLICYD_SYSLOG_FACILITY='LOCAL1'
export POLICYD_LOGFILE='/var/log/policyd.log'
export POLICYD_LOGROTATE_FILE='/etc/logrotate.d/policyd'
